﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebService
{
    /// <summary>
    /// Classe entite pour l'Utilisateur dans le Web Service
    /// Permet de fournir une entite serializable
    /// </summary>
    public class UtilisateurEWS
    {
        public int idutilisateur { get; set; }

        public string nom { get; set; }

        public string prenom { get; set; }

        public string email { get; set; }

        public string password { get; set; }

        public char sexe { get; set; }

        public string filliere { get; set; }

        public decimal promotion { get; set; }

        public DateTime datenaissance { get; set; }

        /// <summary>
        /// Constructeur par defaut
        /// </summary>
        public UtilisateurEWS()
        {
        }

        /// <summary>
        /// Constructeur qui fait appel a la methode de copie d'un Utilisateur Entity
        /// </summary>
        /// <param name="utilisateur">Utilisateur Entity</param>
        public UtilisateurEWS(Entity.Utilisateur utilisateur)
        {
            this.copyFromEntity(utilisateur);
        }

        /// <summary>
        /// Methode permettant de copier les données d'un Utilisateur LINQ vers un utilisateur EWS
        /// </summary>
        /// <param name="utilisateur">Utilisateur Entity</param>
        public void copyFromEntity (Entity.Utilisateur utilisateur)
        {
            this.idutilisateur = utilisateur.idutilisateur;
            this.nom = utilisateur.nom;
            this.prenom = utilisateur.prenom;
            this.email = utilisateur.email;
            this.password = utilisateur.password;
            this.sexe = utilisateur.sexe;
            this.filliere = utilisateur.filliere;
            this.promotion = utilisateur.promotion;
            this.datenaissance = utilisateur.datenaissance;
        }

        /// <summary>
        /// Methode permettant de copier les données d'un Utilisateur LINQ vers un utilisateur EWS
        /// </summary>
        /// <param name="utilisateur">Utilisateur Entity</param>
        public void copyLimitedFromEntity(Entity.Utilisateur utilisateur)
        {
            this.idutilisateur = utilisateur.idutilisateur;
            this.nom = utilisateur.nom;
            this.prenom = utilisateur.prenom;
            this.sexe = utilisateur.sexe;
            this.filliere = utilisateur.filliere;
            this.promotion = utilisateur.promotion;
        }
    }
}